package com.ambow.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.ResourceBundle;

/**
 * JDBC工具类。
 * 
 * @author chunw
 *
 */
public class JdbcUtils {
	// 数据库驱动类类名；
	public static final String CLASS_NAME;
	// 数据库连接字符串；
	public static final String URL;
	// 数据库用户名；
	public static final String USER_NAME;
	// 数据库密码；
	public static final String USER_PASSWORD;
	// 线程内数据存储；
	private static ThreadLocal<Connection> local;

	static {
		local = new ThreadLocal<Connection>();
		ResourceBundle bundle = ResourceBundle.getBundle("mysql");
		CLASS_NAME = bundle.getString("className");
		URL = bundle.getString("url");
		USER_NAME = bundle.getString("userName");
		USER_PASSWORD = bundle.getString("userPassword");
	}

	/**
	 * 获取数据库连接。
	 * 
	 * @return 数据库连接；
	 * @throws SQLException SQL异常；
	 */
	public static Connection getConnection() throws SQLException {
		Connection conn = local.get();
		if (conn == null) {
			conn = DriverManager.getConnection(URL, USER_NAME, USER_PASSWORD);
			local.set(conn);
		}
		return conn;
	}

}
